from django.db import models
from basicweb.models import TaskType, AreaPlace, TaskStatus
from useweb.models import Staff


"""
  id【编号】
    name 【任务名称】
    TaskType【任务类别】(FK) --- TaskType
    Place【场地信息】(FK)----Place
          【自动带出字段：所属分部，业务区，场地代码	场地名称	责任人】
    Task【运维任务】 --- FK ---Task 
    task_desc【任务描述】 
    create_time【创建时间】 2022-03-20
    last_time【结项日期】  2022-04-20
    Is_suspend【是否暂停】 默认 False
    Is_cancel【是否取消】默认 False
    Is_transfer【是否转移】默认 False
    before_account【转移前的用户】-- (FK) --- Account 
    transfer_time【转移日期】
    status 【状态】 默认1， 1--进行中， 2--正常完成  3--延迟完成
    cmplt_time【完成时间】
    cmplt_desc【完成描述】
           2022-03-22 ： 完成了工作量的30%
           2022-03-27 ： 完成了工作量的50%
    inc_desc【未完成描述】
   
"""

# 任务管理
class TaskOrder(models.Model):
    task_id = models.CharField(verbose_name="任务编号", max_length=200, blank=True, null=True,default=None)
    name = models.CharField(verbose_name="任务名称", max_length=200, blank=False, null=False)
    tasktype = models.ForeignKey(verbose_name="任务类别", to=TaskType, on_delete=models.PROTECT)
    areaplace = models.ForeignKey(verbose_name="场地信息", to=AreaPlace, on_delete=models.PROTECT)
    task_desc = models.TextField(verbose_name="任务描述", null=True, blank=True, default=None)
    staff = models.ForeignKey(verbose_name="当前任务负责人", to=Staff, on_delete=models.PROTECT, default="950001")
    create_time = models.DateTimeField(verbose_name="创建时间", blank=True, null=True, default=None)
    last_time = models.DateTimeField(verbose_name="结项时间", blank=True, null=True, default=None)
    is_suspend = models.BooleanField(verbose_name="是否暂停", default=False,null=True, blank=True)
    is_cancel = models.BooleanField(verbose_name="是否取消", default=False,null=True, blank=True)
    is_transfer = models.BooleanField(verbose_name="是否转移", default=False,null=True, blank=True)
    before_staff = models.CharField(verbose_name="前负责人",max_length=100, default=None, null=True, blank=True)
    transfer_time = models.DateTimeField(verbose_name="转移时间", blank=True, null=True, default=None)
    taskstatus = models.ForeignKey(verbose_name="状态", to=TaskStatus, on_delete=models.PROTECT)
    cmplt_time = models.DateTimeField(verbose_name="完成时间", blank=True, null=True, default=None)
    cmplt_desc = models.TextField(verbose_name="完成描述", null=True, blank=True, default=None)
    inc_desc = models.TextField(verbose_name="未完成描述", null=True, blank=True, default=None)

    class Meta:
        managed = True
        app_label = 'taskweb'
        db_table = "Task_TaskOrder"

